<?php
namespace app\api\controller\v1;

use app\api\service\TokenService;
use app\api\service\UserToken;
use app\model\User;

class Token
{
    /**
     * @param wx.login code
     * 用户登录凭证（有效期五分钟）。开发者需要在开发者服务器后台调用 api，
     * 使用 code 换取 openid 和 session_key 等信息
    */
    public function getToken($code='')
    {
        try{
            $wx = new UserToken($code);
            $token = $wx->getToken();
            return json([
                'token' => $token
            ]);
        }catch (\Exception $exception){
            return json([
                'code' => 1,
                'msg' => $exception->getMessage()
            ]);
        }
    }

    /**
     * 验证token是否合法
    */
    public function verifyToken($token=''){
        try{
            TokenService::verifyToken($token);
            if(!$token){
                throw new \Exception([
                    'token不允许为空'
                ]);
            }
            $valid = TokenService::verifyToken($token);
            return json([
                'isValid' => $valid
            ]);
        }catch (\Exception $exception){
            return json([
                'isValid' => false
            ]);
        }
    }

}
